package com.company.cloud.coupon.constant;

import com.company.cloud.common.constant.BaseCodeEnum;

public class CouponConstant {

	/**SHOP对象分类*/
	public interface CouponObjType{
		/**优惠券配置流水号*/
		public  String CouponConfig_ObjType="80";
		/**优惠券流水号*/
		public String Coupon_ObjType="81";
		/**裂变优惠券活动流水号*/
		public String CouponFissionAct_ObjType="82";
		/**裂变优惠券流水号*/
		public String CouponFission_ObjType="83";
	}

	/**优惠券类型*/
	public enum CouponConfigTypeEnum implements BaseCodeEnum {
		Cash_Coupon("1", "满减券"), 
		Discount_Coupon("2", "折扣券"),
		Random_Cash_Coupon("3", "随机金额券"), 
		;
		private String code;
		private String msg;
		CouponConfigTypeEnum(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}

	
	/**优惠券过期时间类型*/
	public enum CouponEndDateTypeEnum implements BaseCodeEnum {
		Appointed_EndDate("1", "指定日期"), Fixed_EndDate("2", "领取后固定时间");
		private String code;
		private String msg;
		CouponEndDateTypeEnum(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}

	/**优惠券使用商品分类*/
	public enum CouponUsableObjTypeEnum implements BaseCodeEnum {
		All_UsableObj("1", "所有"),
		Appointed_UsableObj("2", "指定"),
		;
		private String code;
		private String msg;
		CouponUsableObjTypeEnum(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}


//	/**
//	 * 优惠券可使用对象分类
//	 */
//	public enum CouponUsableObjType implements BaseCodeEnum {
//		Product_CouponUsable("1", "商品"), 
//		Sku_CouponUsable("2", "SKU"), 
//		ProductType_CouponUsable("3", "商品分类"),;
//		private String code;
//		private String msg;
//		CouponUsableObjType(String code, String msg) {
//			this.code = code;
//			this.msg = msg;
//		}
//		@Override
//		public String getCode() {return code;}
//		@Override
//		public String getMsg() {return msg;}
//	}
	
	
	/**优惠券分享设置*/
	public enum CouponShareEnum implements BaseCodeEnum {
		CSE_ShareFriendGet("1", "优惠券允许分享给好友领取"), 
		;
		private String code;
		private String msg;
		CouponShareEnum(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}
	
	/**
	 * 优惠券其它设置
	 * */
	public enum CouponOtherEnum implements BaseCodeEnum {
		COE_OriginalPriceBuy("1", "优惠券仅原价购买商品时可用"), 
		;
		private String code;
		private String msg;
		CouponOtherEnum(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}


	/**
	 *  优惠券领取分类
	 * */
	public enum CouponGetType implements BaseCodeEnum {
		CFG_None("0", "不限制"), 
		CFG_Act_Num("1","每人活动期间最多领取?次"),
		CFG_Day_Num("2","每人每天最多领取?次"),
		;
		private String code;
		private String msg;
		CouponGetType(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}
	
	/**
	 * 优惠券状态
	 */
	public enum CouponStateEnum implements BaseCodeEnum {
		Not_CouponState("0", "未使用"), 
		Lock_CouponState("1", "已锁定"), 
		Overdue_CouponState("2", "过期"),
		Yes_Pay_CouponState("5", "支付核销"), 
//		Yes_Cash_CouponState("6", "收银核销"), 
		Yes_Scan_CouponState("7", "扫码核销"),;
		private String code;
		private String msg;
		CouponStateEnum(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}
	
	/** 裂变优惠券活动状态*/
	public enum CouponActStateEnum implements BaseCodeEnum {
		CFS_ING("1", "进行中"), 
		CFS_Invalid("2", "已失效"), 
		CFS_Over("3", "已过期"),
		;
		private String code;
		private String msg;
		CouponActStateEnum(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}
	

	/**
	 * 优惠券发送对象分类
	 * */
	public enum CouponUserObjType implements BaseCodeEnum {
//		ALL_CouponObj("0", "所有"), 
		User_CouponObj("1", "用户"), 
		;
		private String code;
		private String msg;
		CouponUserObjType(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}
		@Override
		public String getCode() {return code;}
		@Override
		public String getMsg() {return msg;}
	}
	
	
}
